package com.wall.haven.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wall.haven.entity.SystemConfig;
import com.wall.haven.enums.ConfigKey;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ChenWangKun
 * @since 2023-10-18
 */
public interface ISystemConfigService extends IService<SystemConfig> {

    /**
     *  清除需要初始化的值
     */
    void clear();

    /**
     * 初始化配置
     */
    void init() throws Exception;

    /**
     *  获取配置值
     * @param configKey
     * @return
     */
    String getValue(ConfigKey configKey);

    String getSecretKey();
    boolean isShowSecretKey();

    /**
     * 鉴权token有效时长
     */
    long getSecretValidTime();

    /**
     * 默认头像
     */
    String getDefaultAvatar();

    /**
     * RSA 公钥
     */
    String getRsaPublicKey();

    /**
     * RSA 私钥
     */
    String getRsaPrivateKey();

    /**
     * AES加密KEY
     */
    String getAesKey();


    boolean isNsfw();
}
